Vacation time! Now that my semester is over, time to tweak around some open source project.
I’ve just downloaded mozilla-central. Even though I participated in outreachy as a mozilla intern, I never actually downloaded the browser source code – I contributed to Firefox Accounts…
I confess the first place I looked was github, but well, lots of great projects are not there. In fact, when you duckDuckGo “how to contribute to open software” most tutorials will tell you to explore github. D’uh, not so fast… MDN has great documentation, but coming from git, svn, github, bitbucket etc, things can get a bit confusing.
I had a new challenge: learn mercurial, coming from a svn and git. From this site, some considerations:
- Functionality like history rewriting must be enabled; IMHO no history rewriting == messy trees;
- Git’s blob, tree and commit are equivalent to: file, manifest and changeset. Respectively. Hmm, so you dont “commit your changes”, you “changeset them”?
- Graphical representation of history is the same in the two;
- Local tags are only visible where they were created and do not propagate, so they behave practically the same in both systems.
- mercurial does not offer an “undo” to what you did without using commands that are referred to as “dangerous”, “not what you want” etc in the help pages. (???)
- I’ll have to test the communication between repositories and get back here to tell, coz from the tutorial, not clear if the pull command pulls and merges everything. (Unlike git where you select the branch to update);
- There’s no staging area in Hg
Well, let’s hope I find something fun at Bugzilla to put all that in practice.